package one.array;

/**
 * 删除有序数组中的重复项
 * 时间复杂度：O(n)
 */
public class Delete_duplicateSortedArray {
    //思路：删除有序数组中与前一个元素相同的元素
    //时间复杂度：O(n)
    public static int removeDuplicates(int[] nums) {
        if(nums.length <= 1){
            return nums.length;
        }

        int preIndex = 0;
        for(int i = 1; i < nums.length; i++){
            if(nums[i] != nums[preIndex]){
                nums[++preIndex] = nums[i];
            }
        }
        return preIndex + 1;//注意：审题，是返回数组的长度，所以preIndex+1
    }

    public static void main(String[] args) {
        int[] nums = {1, 1, 2};
        int result = removeDuplicates(nums);
        System.out.println("=====" + result + "=====");
        for(int i = 0; i < result; i++){
            System.out.println(nums[i]);
        }
    }
}
